package com.android.phoenix.activity.location;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

import com.android.phoenix.Constant;
import com.android.phoenix.MainApplication;
import com.android.phoenix.util.Ray_FileUtils;
import com.baidu.mapapi.model.LatLng;

import android.content.Context;
import android.location.LocationManager;
import android.util.Log;

public class LocationUtils {
	public boolean isGpsEnable(Context context) {
		LocationManager locationManager = ((LocationManager) context
				.getSystemService(Context.LOCATION_SERVICE));
		return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
	}

	public static void saveToFile( String date,
			String saveString) {

		Ray_FileUtils.saveStringToFile(date, saveString);
	}

	/**
	 * 
	 * @Title: countCalories
	 * @Description: TODO(计算calories 公式 ：calories = 骑车时速（km/h）*体重（kg）*9.7*时间（h）)
	 * @author: Administrator
	 * @date: 2015年1月20日 下午10:34:15
	 * @param speed
	 * @param weight
	 * @param hours
	 * @return
	 */
	public static String countCalories(float distance) {
		String calories = "";
		int weight = MainApplication.mSharedPreferences.getInt(
				Constant.USERWEIGHT, 60);
		//单位 千卡
		calories = (float) (distance * weight * 9.7/1000.0f )+"";
		return calories;
	}

	/**
	 * 
	 * @Title: countPedaling
	 * @Description: TODO(大致计算蹬踏数)
	 * @author: Administrator
	 * @date: 2015年1月20日 下午10:39:31
	 * @param distances
	 * @param speed
	 * @return
	 */
	public static String countPedaling(float distances, float speed) {
		int Pedalings = 0;
		Pedalings = (int) (distances / 1.8f);
		return Pedalings + "";
	}

	/**
	 * 
	 * @Title: countHeartRate
	 * @Description: TODO(心率计算公式：男：HRmax = 210 -年龄/2 -(0.11*体重 +4) ) 女 ：HRmax
	 *               =210-年龄/2-（0.11 *体重） 热身：0.5-0.6（HRmax） 脂肪燃烧：0.6-0.7
	 *               糖原消耗：0.7-0.8 乳酸堆积：0.8-0.9 身体极限：0.9-1
	 * @author: Administrator
	 * @date: 2015年1月20日 下午10:42:11
	 * @param weight
	 * @return
	 */
	public static String countHeartRate() {
		int sex = MainApplication.mSharedPreferences.getInt(Constant.USERSEX,
				Constant.MALE);
		int weight = MainApplication.mSharedPreferences.getInt(
				Constant.USERWEIGHT, 60);
		int age = MainApplication.mSharedPreferences.getInt(Constant.USERAGE,
				20);
		int heartRate = 90;
		switch (sex) {
		case Constant.MALE:
			heartRate = (int) ((210 - age / 2 - (0.11 * weight + 4))
					* (10 - Math.random() * 4) / 10);
			break;

		case Constant.FEMALE:
			heartRate = (int) ((210 - age / 2 - (0.11 * weight))
					* (10 - Math.random() * 4) / 10);
			break;
		}
		return heartRate + "";
	}

	/**
	 * 
	 * @Title: countTime
	 * @Description: TODO(显示运动时间)
	 * @author: Administrator
	 * @date: 2015年1月22日 下午9:51:19
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	public static String countTime(long startTime, long endTime) {
		String time = "";
		long start = 0l;
		long end = 0l;
		start = startTime - 10000000000000l + 28800000;
		end = endTime - 10000000000000l;
		Date d = new Date(end - start);
		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
		time = sdf.format(d);
		return time;
	}

	/**
	 * 
	 * @Title: getCurrentTime
	 * @Description: TODO(获取当前时间，作为时间标志)
	 * @author: Administrator
	 * @date: 2015年1月22日 下午9:51:26
	 * @return
	 */
	public static String getCurrentTime() {
		String currentTime = "";
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss",
				Locale.getDefault());
		currentTime = sdf.format(new Date());
		return currentTime;
	}
	
	/**
	 * 
	 * @Title: getStartTime
	 * @Description: TODO(获取当前时间，作为时间标志)
	 * @author: Administrator
	 * @date: 2015年1月22日 下午9:51:26
	 * @return
	 */
	public static String getStartTime() {
		String StartTime = "";
		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss",
				Locale.getDefault());
		StartTime = sdf.format(new Date());
		return StartTime;
	}
	
	/**
	 * 
	 * @Title: getStartTime
	 * @Description: TODO(获取当前时间，作为时间标志)
	 * @author: Administrator
	 * @date: 2015年1月22日 下午9:51:26
	 * @return
	 */
	public static String getEndTime() {
		String getEndTime = "";
		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss",
				Locale.getDefault());
		getEndTime = sdf.format(new Date());
		return getEndTime;
	}
	
	/**
	 * 
	 * @Title: getCurrentTime
	 * @Description: TODO(获取当前日期，作为时间标志)
	 * @author: Administrator
	 * @date: 2015年1月22日 下午9:51:26
	 * @return
	 */
	public static String getCurrentDate() {
		String currentDate = "";
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd",
				Locale.getDefault());
		currentDate = sdf.format(new Date());
		return currentDate;
	}
	
	public static List<LatLng> getListFromFile(String path){
		List<LatLng> listLatlng =new ArrayList<LatLng>();
		String originStr = Ray_FileUtils.readStringFromFile(path);
		if (originStr==null) {
			return null;
		}
		String[]  Strs = originStr.split(";");
		String[]  latlngStrs= null;
		for (int i = 0; i < Strs.length; i++) {
			latlngStrs=Strs[i].split(":");
			Log.i("wanglei", latlngStrs[0]+","+latlngStrs[1]);
			listLatlng.add(new LatLng(Double.parseDouble(latlngStrs[0]), Double.parseDouble(latlngStrs[1])));
		}
		return listLatlng;
	}

}
